---
title: Configuration settings
summary: Configuration keys consumed by this library, retrieval methods, and runtime dependencies.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-25
library: SAIF.Application
reference_type: embedded
---

# Configuration settings

`SAIF.Application` is documented here via its host, the `LegalMaintenance` WebForms application (`LegalMaintenance.vbproj`). The application's directly-consumed configuration surface is minimal: two Environment API keys retrieved through `EnvironmentService`/`WindowsEnvironmentService`, one `Web.config` `<appSettings>` key, and the Oracle ODP.NET provider registration/config section required to open Oracle connections at runtime.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `EnvironmentService.GetConfigSetting(key As String)` | `AppGlobal.EnvironmentService` | `SAIF.Framework.Security` (backed by `SAIF.BOF.Framework.Security.EnvironmentApi`) | Single call site in a lazy property getter: `clsLegalMaintenanceModel.DatabaseEnvironment` resolves `EnvironmentConfigKeys.OracleDatabase` on first access and caches it in `m_Database`. |
| `WindowsEnvironmentService().GetConfigSetting(key As String)` | `WindowsEnvironmentService` | `SAIF.Framework.Security` (backed by `SAIF.BOF.Framework.Security.EnvironmentApi`) | Instantiated inline (not via `AppGlobal`) inside `clsLegalMaintenanceModel.SetActiveManager` to resolve the claim-data API base URL (`"cc.ccclaimdataapiurl"`) used to construct `ApiClient`. |

## Environment API settings

Settings retrieved via `EnvironmentService` / `WindowsEnvironmentService` (centralized environment configuration service).

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| `EnvironmentConfigKeys.OracleDatabase` | `GetConfigSetting` | String | Logical/target Oracle database environment identifier, exposed as `DatabaseEnvironment`; lazily resolved and cached per model instance.* | `clsLegalMaintenanceModel` | `LegalMaintenance/Classes/clsLegalMaintenanceModel.vb` |
| `cc.ccclaimdataapiurl` | `GetConfigSetting` | String | Base URL for the claim data API, used to construct an `ApiClient` registered on the active manager's DPI (`DPI.ApiClients["ccClaimDataApi"]`). | `clsLegalMaintenanceModel` | `LegalMaintenance/Classes/clsLegalMaintenanceModel.vb` |

**2 unique Environment API keys.**

## AppSettings (Web.config)

Settings retrieved via `ConfigurationManager.AppSettings` (or read directly from `Web.config`'s `<appSettings>` section).

| Setting key | Default value | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- |
| `ApplicationHost` | `np17` | Host/environment identifier declared in `Web.config`; no direct `ConfigurationManager.AppSettings["ApplicationHost"]` call site was found in this repository's `.vb` code, so the consumer is framework-internal or read via reflection/binding infrastructure.** | Unknown — no local call site found** | `LegalMaintenance/Web.config` |

**1 AppSettings key.**

## Database connection configuration

| Connection name | Provider | Retrieval method | Purpose | Source |
| --- | --- | --- | --- | --- |
| Oracle ODP.NET provider registration | Oracle — ODP.NET Managed Driver (`Oracle.ManagedDataAccess`, v4.122.21.1) | `<system.data><DbProviderFactories>` registration plus `<oracle.manageddataaccess.client>` config section (declared but unpopulated) | Registers the Oracle managed provider factory so `SAIF.Application.Claim`'s `DataLayer.CreateOraclePortal(ClaimAppConstants.DPIClaimKey)` (logical portal key `ClaimDPI`) can open a connection at the process level; the actual connection string/TNS resolution happens inside the BOF framework, not in this project's config.* | `LegalMaintenance/Web.config`, `LegalMaintenance/App.config` |

No literal connection string, TNS alias, host, or credential appears in `Web.config`/`App.config`; the `<connectionStrings />` element in `Web.config` is empty.

## Custom configuration sections

Custom XML configuration sections registered in `Web.config`/`App.config`.

| Section name | Handler type | Purpose | Source |
| --- | --- | --- | --- |
| `infragistics.web` | `System.Configuration.SingleTagSectionHandler` | Configures the Infragistics WebUI style set (`styleSetName="SAIFDefault"`, `styleSetPath="/resources/ig_res"`) used by the application's Infragistics 11.1/10.3 controls. | `LegalMaintenance/Web.config` |
| `oracle.manageddataaccess.client` | `OracleInternal.Common.ODPMSectionHandler` (`Oracle.ManagedDataAccess`, v4.122.21.1) | Declares the ODP.NET managed configuration section; present in both `Web.config` and `App.config` but contains no child elements — provider behavior uses ODP.NET defaults. | `LegalMaintenance/Web.config`, `LegalMaintenance/App.config` |

## Secure settings

None. No `GetSecureConfigSetting` call site, no `SystemHashUtil.ComputeHash` usage, and no credential, password, token, or API-key literal appears in this project's source or config files.

## Transitive configuration (from dependencies)

| Setting key | Method | Source dependency | Dependency type | Purpose |
| --- | --- | --- | --- | --- |
| `imagingapiurl` Environment API setting | `GetConfigSetting` | `SAIF.Application.Claim` | ProjectReference | Base URL for the SAIF Imaging API; consumed by `ClaimAppManager.ClaimImageApiClient`, not directly by `LegalMaintenance`. See [saif-application-claim configuration](../saif-application-claim/configuration.md). |
| Oracle connection string / TNS resolution for portal key `ClaimDPI` | `CreateOraclePortal` (framework-internal) | `SAIF.BOF.Framework.Connection` (via `SAIF.Application.Claim`) | NuGet (transitive) | Resolves the actual Oracle connection consumed by claim data access; key name unknown from this repository.** |
| AD SecurityService endpoint backing `UserAccess.HasAccess` / `clsSecurityPrincipal.IsAuthorized` | `IsAuthorized` (framework-internal) | `SAIF.BOF.Framework.Security` | NuGet (transitive) | Backs all AD resource membership checks used across the application; key name unknown.** |
| Environment API service bootstrap configuration | `GetConfigSetting` (framework-internal) | `SAIF.BOF.Framework.Security.EnvironmentApi` | NuGet (transitive) | Bootstraps `EnvironmentService`/`WindowsEnvironmentService` themselves; key name unknown from this repository.** |

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `EnvironmentConfigKeys.OracleDatabase` Environment API setting | Setting | First `DatabaseEnvironment` access (runtime) | Missing/blank value fails at first access; no fallback default observed. |
| `cc.ccclaimdataapiurl` Environment API setting | Setting | `SetActiveManager` call (session/context establishment) | A missing or blank URL would construct an `ApiClient` pointed at an invalid base address, failing at first API call rather than at manager assignment. |
| `oracle.manageddataaccess.client` config section + `DbProviderFactories` registration | Custom config section / provider registration | Startup (Oracle connection open) | Without this registration in the hosting web application, ODP.NET cannot register its provider factory, and any `CreateOraclePortal` call in dependency libraries (e.g. `SAIF.Application.Claim`) fails to open a connection. |
| `infragistics.web` config section | Custom config section | Application startup / first Infragistics control render | Missing section prevents Infragistics WebUI controls from resolving their style set, likely causing rendering/styling failures across screens that use these controls. |
| AD/SecurityService resolution behind `UserAccess`/`clsSecurityPrincipal.IsAuthorized` | Service (framework-internal) | Every authorization check | A resolution failure would prevent authorization checks from completing across the application; behavior on framework-service failure is unknown.** |

## Configuration summary

| Metric | Value |
| --- | --- |
| Total unique setting keys discovered (directly consumed) | 2 (`EnvironmentConfigKeys.OracleDatabase`, `cc.ccclaimdataapiurl`) |
| Environment API (`GetConfigSetting`) | 2 |
| Environment API secure (`GetSecureConfigSetting`) | 0 |
| `ConfigurationManager.AppSettings` / `Web.config` `<appSettings>` | 1 (`ApplicationHost`) |
| `ApplicationSettingsBase` / `Settings.Default` | 0 |
| Secure / encrypted settings | 0 |
| Database connections | 1 (Oracle ODP.NET provider registration; no literal connection string) |
| Raw connection strings in source or config | 0 |
| Custom configuration sections | 2 (`infragistics.web`, `oracle.manageddataaccess.client`) |
| Assembly binding redirects | 2 (`Newtonsoft.Json` → 8.0.0.0, `System.Runtime.CompilerServices.Unsafe` → 6.0.0.0) — `Web.config` only |

**Overall posture:** the application's own configuration footprint is small and largely delegates connection/AD/security configuration to the underlying BOF framework packages; its two direct Environment API keys and one AppSettings key are the only settings owned at this layer.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Library index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)

## Sources
- `LegalMaintenance/Classes/clsLegalMaintenanceModel.vb`
- `LegalMaintenance/Web.config`
- `LegalMaintenance/App.config`
- `LegalMaintenance/LegalMaintenance.vbproj`
